#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>

int main(){
    int fd = open("testfile.txt", O_RDWR);

    char* ptr = NULL;
    //mmap的offset参数必须为页面大小的整数倍，否则会报错
    ptr = mmap(NULL, 10, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
    if(ptr == MAP_FAILED){
        perror("mmap");
        exit(1);
    }
    for(int i = 0; i < 10; i++){
        printf("%c\n", ptr[i]);
    }

    return 0;
}